package com.fastloan.mgt.customer.model;

import com.fastloan.mgt.customer.anno.EnumObj;
import com.fastloan.mgt.customer.anno.TagAnno;
import com.fastloan.mgt.customer.enums.CustomerEnums;
import com.kawins.base.baseabs.BaseModel;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Transient;
import java.util.Date;

/**
 * @author gelon createTime 2017/11/06 客户营销信息
 */
@javax.persistence.Table(name = "ZY_CUSTOMER_MARKETION")
public class ZyCustomerMarketion extends BaseModel<String> {


    /**
     *
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @TagAnno(name = "")
    private String id;
    /**
     *
     */
    @TagAnno(name = "")
    private String customerId;
    /**
     * 客户状态
     */
    @TagAnno(name = "客户状态")
    private Integer customerStatus;

    @Transient
    @EnumObj(mapping = "customerStatus")
    private CustomerEnums.CustomerStatus[] customerStatusEnums = CustomerEnums.CustomerStatus
        .values();

    /**
     * 客户态度 1 非常配合 2 配合 3拒绝 4态度恶略
     */
    @TagAnno(name = "客户态度 1 非常配合 2 配合 3拒绝 4态度恶略")
    private Integer customerManner;

    @Transient
    @EnumObj(mapping = "customerManner")
    private CustomerEnums.CustomerManner[] customerMannerEnums = CustomerEnums.CustomerManner
        .values();

    /**
     * 客户经理id
     */
    @TagAnno(name = "客户经理id")
    private String customerManagerId;
    /**
     * 营销状态 1 打开 0关闭
     */
    @TagAnno(name = "营销状态 1 打开 0关闭")
    private Integer marketionStatus;

    @Transient
    @EnumObj(mapping = "marketionStatus")
    private CustomerEnums.MarketionStatus[] marketionStatusEnums = CustomerEnums.MarketionStatus
        .values();

    /**
     * 变更信息
     */
    @TagAnno(name = "变更信息")
    private String changeNote;

    /**
     * 更新时间
     */
    @TagAnno(name = "更新时间")
    private Date modifyTime;


    public String getId() {
        return id;
    }

    public ZyCustomerMarketion setId(String id) {
        this.id = id;
        return this;
    }


    public String getCustomerId() {
        return customerId;
    }

    public ZyCustomerMarketion setCustomerId(String customerId) {
        this.customerId = customerId;
        return this;
    }

    public Integer getCustomerStatus() {
        return this.customerStatus;
    }

    public ZyCustomerMarketion setCustomerStatus(Integer customerStatus) {
        this.customerStatus = customerStatus;
        return this;
    }

    public Integer getCustomerManner() {
        return this.customerManner;
    }

    public ZyCustomerMarketion setCustomerManner(Integer customerManner) {
        this.customerManner = customerManner;
        return this;
    }

    public CustomerEnums.CustomerStatus[] getCustomerStatusEnums() {
        return customerStatusEnums;
    }


    public CustomerEnums.CustomerManner[] getCustomerMannerEnums() {
        return customerMannerEnums;
    }


    public CustomerEnums.MarketionStatus[] getMarketionStatusEnums() {
        return marketionStatusEnums;
    }


    public String getCustomerManagerId() {
        return customerManagerId;
    }

    public ZyCustomerMarketion setCustomerManagerId(String customerManagerId) {
        this.customerManagerId = customerManagerId;
        return this;
    }

    public Integer getMarketionStatus() {
        return this.marketionStatus;
    }

    public ZyCustomerMarketion setMarketionStatus(Integer marketionStatus) {
        this.marketionStatus = marketionStatus;
        return this;
    }

    public Date getModifyTime() {
        return this.modifyTime;
    }

    public ZyCustomerMarketion setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
        return this;
    }

    public String getChangeNote() {
        return changeNote;
    }

    public ZyCustomerMarketion setChangeNote(String changeNote) {
        this.changeNote = changeNote;
        return this;
    }
}
